package com.pshcp.doctor.vo.patientreserve;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @Description: TODO
 * @Author: xiaoche
 * @Date: 2022/11/24 22:01
 */
@Data
@ApiModel(value = "预约治疗")
public class PatientReserveRecordVO {
    @ApiModelProperty(value = "id")
    private Long id;

    /**
     * 类型 0入院，1手术，2激光治疗，3瘢痕治疗，4皮肤治疗，5口腔，6门诊拆线换药，7住院注水，8住院拆线换药，9急诊拆线换药
     */
    @ApiModelProperty(value = "类型 0入院，1手术，2激光治疗，3瘢痕治疗，4皮肤治疗，5口腔，6门诊拆线换药，7住院注水，8住院拆线换药，9急诊拆线换药")
    private Integer type;

    /**
     * 审核类型
     * 0：无须审核
     * 1：患者提申请->医生确认
     * 2：医生提申请->患者确认->医生再确认
     * 3：医生提申请->通知患者
     */
    @ApiModelProperty(value = "审核类型")
    private Integer approvalType;

    /**
     * 审核状态 0审核中 1审核完成
     */
    @ApiModelProperty(value = "审核状态 0审核中 1审核完成")
    private Integer approvalStatus;

    /**
     * his对接医生Id
     */
    @ApiModelProperty(value = "his对接医生Id")
    private String accessDocId;
    /**
     * 医生id
     */
    @ApiModelProperty(value = "医生id")
    private Long doctorId;

    @ApiModelProperty(value = "医生名称")
    private String doctorName;

    /**
     * his接患者Id
     */
    @ApiModelProperty(value = "his接患者Id")
    private String accessPatId;
    /**
     * 患者id
     */
    @ApiModelProperty(value = "患者id")
    private Long patientId;

    /**
     * 患者名称
     */
    @ApiModelProperty(value = "患者名称")
    private String patName;

    /**
     * 就诊卡类型
     */
    @ApiModelProperty(value = "就诊卡类型")
    private Integer patCardType;

    /**
     * 就诊卡号
     */
    @ApiModelProperty(value = "就诊卡号")
    private String patCardNo;

    /**
     * his预约单号
     */
    @ApiModelProperty(value = "his预约单号")
    private String accessReserveNo;

    /**
     * 院区Id 全部：0 西院：1 东院: 2
     */
    @ApiModelProperty(value = "院区Id 全部：0 西院：1 东院: 2")
    private Integer hosDistId;

    /**
     * 对接科室ID
     */
    @ApiModelProperty(value = "对接科室ID")
    private String accessDeptId;

    /**
     * 科室ID
     */
    @ApiModelProperty(value = "科室ID")
    private Long deptId;

    /**
     * 科室名称
     */
    @ApiModelProperty(value = "科室名称")
    private String deptName;

    /**
     * 治疗日期 yyyy-MM-dd
     */
    @ApiModelProperty(value = "治疗日期 yyyy-MM-dd")
    private String treatmentDate;

    /**
     * 预约起始时间 格式:HH:mm
     */
    @ApiModelProperty(value = "预约起始时间 格式:HH:mm")
    private String startTime;

    /**
     * 预约截止时间 格式:HH:mm
     */
    @ApiModelProperty(value = "预约截止时间 格式:HH:mm")
    private String endTime;

    /**
     * 治疗地点编码
     */
    @ApiModelProperty(value = "治疗地点编码")
    private String treatmentLocationCode;
    /**
     * 治疗地点
     */
    @ApiModelProperty(value = "治疗地点")
    private String treatmentLocation;

    /**
     * 病房
     */
    @ApiModelProperty(value = "病房")
    private String ward;

    /**
     * 一级治疗项目编码
     */
    @ApiModelProperty(value = "一级治疗项目编码")
    private String itemCode;
    /**
     * 治疗内容
     */
    @ApiModelProperty(value = "治疗内容")
    private String treatmentItem;

    /**
     * 二级项目编码
     */
    @ApiModelProperty(value = "二级项目编码")
    private String itemSubItem;

    /**
     * 注意事项
     */
    @ApiModelProperty(value = "注意事项")
    private String precautions;

    /**
     * 状态 0审核中 1审核完成 2项目进行中 3完成 4取消
     */
    @ApiModelProperty(value = "状态 0审核中 1审核完成 2项目进行中 3完成 4取消")
    private Integer bizStatus;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createdTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "诊断id")
    private String diagnose;

    @ApiModelProperty(value = "诊断名称")
    private String diagnoseName;

    @ApiModelProperty(value = "手术名称id")
    private String operationNameCode;

    @ApiModelProperty(value = "手术名称")
    private String operationName;

    @ApiModelProperty(value = "是否可以审核  0:否  1：是")
    private Integer secretaryFlag;

    @ApiModelProperty(value = "操作")
    private List<PatientReserveOperateRecordVO> operateRecords;
}
